package com.dm0858.bianmin.ui.activity;

import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.text.TextUtils;

public class CacheUtils {

	private static final String CACHE_FILE_NAME = "HiGoDriver";
	private static SharedPreferences mSharedPreferences;

	public static void putBoolean(Context context, String key, boolean value) {
		if (mSharedPreferences == null) {
			mSharedPreferences = context.getSharedPreferences(CACHE_FILE_NAME,
					Context.MODE_PRIVATE);
		}
		mSharedPreferences.edit().putBoolean(key, value).commit();
	}

	public static boolean getBoolean(Context context, String key,
                                     boolean defValue) {
		if (mSharedPreferences == null) {
			mSharedPreferences = context.getSharedPreferences(CACHE_FILE_NAME,
					Context.MODE_PRIVATE);
		}
		return mSharedPreferences.getBoolean(key, defValue);
	}

	/**
	 * ��SharedPreferences�д洢һ���ַ�
	 * @param context
	 * @param key
	 * @param value
	 */
	public static void putString(Context context, String key, String value) {
		if (mSharedPreferences == null) {
			mSharedPreferences = context.getSharedPreferences(CACHE_FILE_NAME,
					Context.MODE_PRIVATE);
		}
		mSharedPreferences.edit().putString(key, value).commit();
	}

	/**
	 * ��SharedPreferences��ȡһ���ַ�
	 * @param context
	 * @param key
	 * @param defValue
	 */
	public static String getString(Context context, String key, String defValue) {
		if (mSharedPreferences == null) {
			mSharedPreferences = context.getSharedPreferences(CACHE_FILE_NAME,
					Context.MODE_PRIVATE);
		}
		return mSharedPreferences.getString(key, defValue);
	}

	public static boolean isLogin(Context context) {
		String token = getString(context, "token", "");
		if ("".equals(token)) {
			return false;
		}
		return true;
	}

	public static String getReq_token(Context context, String key) {
		return getString(context, key, "");
	}

	public static void clearReq_token(Context context, String key) {
		putString(context, key, "");
	}

	public static String getUid(Context context) {
		return getString(context, "uid", "");
	}

	public static void setUid(Context context, String value) {
		putString(context, "uid", value);
	}

	public static void setDriverLat(Context context, String value) {
		putString(context, "driver_lat", value);
	}

	public static void setDriverLon(Context context, String value) {
		putString(context, "driver_lon", value);
	}

	public static String getDriverLat(Context context) {
		return getString(context, "driver_lat", "");
	}

	public static String getDriverLon(Context context) {
		return getString(context, "driver_lon", "");
	}

	public static String getDriverCity(Context context) {
		return getString(context, "driver_city", "");
	}

	public static void setDriverCity(Context context, String value) {
		putString(context, "driver_city", value);
	}

    public static String getDriverCityID(Context context) {
        return getString(context, "driver_cityid", "");
    }

    public static void setDriverCityID(Context context, String value) {
        putString(context, "driver_cityid", value);
    }



    public static String getDid(Context context) {
		SharedPreferences sharedPreferences = context.getSharedPreferences(
				"UID", Activity.MODE_PRIVATE);
		return sharedPreferences.getString("UID", "");
	}

	/**
	 * 设置是否空车状态
	 * @param context
	 * @param value
	 */
	public static void setDriverEmpty(Context context, boolean value) {
		putBoolean(context, "is_Empty", value);
	}

	/**
	 * 获取是否空车状态
	 * @param context
	 * @return
	 */
	public static boolean getDriverEmpty(Context context) {
		return getBoolean(context, "is_Empty", false);
	}

	public static void setDriverPic(Context context, String value) {
		putString(context, "driver_pic", value);
	}

	public static String getDriverPic(Context context) {
		return getString(context, "driver_pic", "");
	}

	/**
	 * 设置是否第一次进入,引导图使用
	 * @param context
	 * @param value
	 */
	public static void setFirst(Context context, boolean value) {
		putBoolean(context, "is_first", value);
	}

	/**
	 * 是否是第一次进入
	 * @param context
	 * @return
	 */
	public static boolean isFirst(Context context) {
		return getBoolean(context, "is_first", true);
	}

	public static void setDeviceId(Context context, String value) {
		putString(context, "device_id", value);
	}

	public static String getDevideId(Context context) {
		return getString(context, "device_id", "");
	}



	public static void setDaiJiaStatus(Context context, String value) {
		putString(context, "daijia_status", value);
	}

	public static String getDaijiaStatus(Context context) {
		return getString(context, "daijia_status", "");
	}


    public static void setShangBanTimer(Context context, String value) {
        putString(context, "sbtimer", value);
    }

    public static String getShangBanTimer(Context context) {
        return getString(context, "sbtimer", "");
    }


    public static void setaddress(Context context, String value) {
        putString(context, "address", value);
    }

    public static String getaddress(Context context) {
        return getString(context, "address", "");
    }


    public static void setOrder_id(Context context, String value) {
        putString(context, "orderid", value);
    }

    public static String getOrder_id(Context context) {
        return getString(context, "orderid", "");
    }

	public static void setStart_lon(Context context, String value) {
		putString(context, "start_lon", value);
	}

	public static String getStart_lon(Context context) {
		return getString(context, "start_lon", "");
	}

	public static void setStart_lat(Context context, String value) {
		putString(context, "start_lat", value);
	}

	public static String getStart_lat(Context context) {
		return getString(context, "start_lat", "");
	}


	public static void setJuli(Context context, String value) {
		putString(context, "juli", value);
	}

	public static String getJuli(Context context) {
		return getString(context, "juli", "");
	}


	public static void setDJ_waitMinit(Context context, String value) {
		putString(context, "dj_waitminit", value);
	}

	public static String getDJ_waitMinit(Context context) {
		String tmp=getString(context, "dj_waitminit", "");
		if(TextUtils.isEmpty(tmp))
			tmp="0";
		return tmp;
	}


	public static void setaddr_end(Context context, String value) {
		putString(context, "addr_end", value);
	}

	public static String getaddr_end(Context context) {
		return getString(context, "addr_end", "");
	}



	public static void setCorrectCity(Context context, String value) {
		putString(context, "correctCity", value);
	}

	public static String getCorrectCity(Context context) {
		return getString(context, "correctCity", "");
	}

	//保存用户数据
	public static void setDriverInfo(Context context, String value) {
		putString(context, "driverInfo", value);
	}
	//获取用户数据
	public static String getDriverInfo(Context context) {
		return getString(context, "driverInfo", "");
	}
	/**
	 * 	保存是否在代驾
	 */
	public static void setIsDriving(Context context, boolean value){
		putBoolean(context,"isDriving",value);
	}
	/**
	 * 	获取是否在代驾
	 */
	public static boolean getIsDriving(Context context){
		return getBoolean(context,"isDriving",false);
	}

	/**
	 * 	保存是否在申请保险
	 */
	public static void setIsAccident(Context context, boolean value){
		putBoolean(context,"isAccident",value);
	}
	/**
	 * 	获取是否在申请保险
	 */
	public static boolean getIsAccident(Context context){
		return getBoolean(context,"isAccident", false);
	}


	//保存现金支付一次
	public static void setPayOnce(Context context, String value) {
		putString(context, "payonce", value);
	}
	//获取现金支付一次
	public static String getPayOnce(Context context) {
		return getString(context, "payonce", "");
	}

	//保存现金支付一次
	public static void setMayMoney(Context context, String value) {
		putString(context, "maymoney", value);
	}
	//获取现金支付一次
	public static String getMayMoney(Context context) {
		return getString(context, "maymoney", "");
	}
	//保存时间统计
	public static void setTimeCount(Context context, String value) {
		putString(context, "isTimeCount", value);
	}
	//获取时间统计
	public static String getTimeCount(Context context) {
		return getString(context, "isTimeCount", "");
	}
	/**
	 * 	保存当前时间
	 */
	public static void setLastTime(Context context, String value){
		putString(context,"isLastTime",value);
	}
	/**
	 * 	获取上次保存的时间
	 */
	public static String getLastTime(Context context){
		return getString(context,"isLastTime", "");
	}

	/**
	 * 	保存当前的经纬度数组数据
	 */
	public static void setRoute(Context context, String value){
		putString(context,"isRoute",value);
	}
	/**
	 * 	获取上次保存的经纬度数组数据
	 */
	public static String getRoute(Context context){
		return getString(context,"isRoute", "");
	}

	/**
	 * 	保存最后的经纬度数据
	 */
	public static void setLastRoute(Context context, String value){
		putString(context,"isLastRoute",value);
	}
	/**
	 * 	获取最后保存的经纬度数据
	 */
	public static String getLastRoute(Context context){
		return getString(context,"isLastRoute", "");
	}

	public static void setArrJuli(Context context, String value) {
		putString(context, "arrjuli", value);
	}

	public static String getArrJuli(Context context) {
		return getString(context, "arrjuli", "");
	}

	public static void setError(Context context, String value) {
		putString(context, "isError", value);
	}

	public static String getError(Context context) {
		return getString(context, "isError", "");
	}


	/**
	 * 	保存当前的通知
	 */
	public static void setNote(Context context, String value){
		putString(context,"isNote",value);
	}
	/**
	 * 	获取上次保存的通知
	 */
	public static String getNote(Context context){
		return getString(context,"isNote", "");
	}

	/**
	 * 	保存当前在不在上班
	 */
	public static void setIsSB(Context context, String value){
		putString(context,"isSB",value);
	}
	/**
	 * 	获取上次保存在不在上班
	 */
	public static String getIsSB(Context context){
		return getString(context,"isSB", "");
	}


	/**
	 * 	保存当前图片path
	 */
	public static void setPhotoPath(Context context, String value){
		putString(context,"PhotoPath",value);
	}
	/**
	 * 	获取上次保存图片
	 */
	public static String getPhotoPath(Context context){
		return getString(context,"PhotoPath", "");
	}

    /**
     * 	保存当前图片path
     */
    public static void setReleaseContent(Context context, String value){
        putString(context,"ReleaseContent",value);
    }
    /**
     * 	获取上次保存图片
     */
    public static String getReleaseContent(Context context){
        return getString(context,"ReleaseContent", "");
    }


	/**
	 * 	保存当前图片path
	 */
	public static void setPhone(Context context, String value){
		putString(context,"ReleasePhone",value);
	}
	/**
	 * 	获取上次保存图片
	 */
	public static String getPhone(Context context){
		return getString(context,"ReleasePhone", "");
	}


	/**
	 * 	保存行业
	 */
	public static void setIndustry(Context context,String value){
		putString(context,"industry",value);
	}
	/**
	 * 	获取行业
	 */
	public static String getIndustry(Context context){
		return getString(context,"industry", "");
	}
}